﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Ink;

namespace RozpoznawanieCore.KsztaltyFolder
{
    class Kat : Ksztalt
    {
        public const int LEWY_GORNY = 0;
        public const int PRAWY_GORNY = 1;
        public const int LEWY_DOLNY = 2;
        public const int PRAWY_DOLNY = 3;

        public Kat(int pionX, int pionY, int poziomX, int poziomY, int orientacja,Ksztalt k, Ksztalt k2)
        {
            StrokeCollection tmpS = k2.strokeCol;
            k.strokeCol.Add(tmpS);
            strokeCol = k.strokeCol;
            x1 = pionX;
            x2 = poziomX;
            y1 = pionY;
            y2 = poziomY;
            this.orientacja = orientacja;
            Console.WriteLine("stworzylem kat " + orientacja);
        }

        public Ksztalt dolaczDoMnie(Ksztalt ks)
        {
           
            if (ks is Kat)
            {
                Kat kk = (Kat)ks;
                if (this.orientacja + ks.orientacja == 3)
                {
                    
                    int dd =((Math.Abs(x1 - x2) + Math.Abs(kk.y1 - kk.y2)))/2;
                    if (czyDwaPunktyBliskoSiebie(x1, y1, ks.x2, ks.y2, dd))
                    {
                    if( czyDwaPunktyBliskoSiebie(x2, y2, ks.x1, ks.y1, dd))
                    {
                        return Prostokat.zrobZKatow(this, kk);
                    }
                    
                    }
                    

                }
            }
            return null;
        }

    }
}
